package cn.itcast.wanxinp2p.account.service;

import cn.itcast.wanxinp2p.account.entity.Account;
import cn.itcast.wanxinp2p.api.account.model.AccountDTO;
import cn.itcast.wanxinp2p.api.account.model.AccountLoginDTO;
import cn.itcast.wanxinp2p.api.account.model.AccountRegisterDTO;
import cn.itcast.wanxinp2p.common.domain.RestResponse;
import com.baomidou.mybatisplus.extension.service.IService;


public interface AccountService extends IService<Account> {
    /**
     * 获取短信验证码
     *
     * @param mobile 手机号
     * @return 校验标识
     */
    RestResponse getSMSCode(String mobile);

    /**
     * 校验验证码
     *
     * @param mobile 手机号
     * @param key    校验标识
     * @param code   验证码
     * @return 0 成功  1 失败
     */
    Integer checkMobile(String mobile, String key, String code);

    /**
     * 账户注册
     *
     * @param accountRegisterDTO 账户注册业务对象
     * @return AccountDTO 脱敏后的账号数据
     */
    AccountDTO register(AccountRegisterDTO accountRegisterDTO);

    /**
     *  登录
     * @param accountLoginDTO 账户登录业务对象
     * @return AccountDTO 脱敏后的账号数据
     */
    AccountDTO login(AccountLoginDTO accountLoginDTO);
}
